The invention relates to data processing generally and more specifically to data processing involving decisions based on the values of data.
1. Field of the Invention
2. Description of the Prior Art
Many data processing operations involve making decisions about data items based on a list of criteria concerning the data items. For example, a system which sorted blocks according to color and weight might want to sort out blocks which were black and had a weight between 1 and 3 pounds. There are thus three criteria by which a block will be selected:
Is its color black? PA1 Does it weigh less than 1 pound? PA1 Does it weigh more than 3 pounds?
How long it takes to sort a given block will depend on how the criteria are ordered. For example, if a block is white, only the first criterion need be applied; if it is black, but weighs less than 1 pound, the first two must be applied; if it is black and weighs more than 1 pound, all three must be applied.
It is also clear from the foregoing example that the most efficient ordering of the criteria will depend on the characteristics of the blocks being sorted. For example, if almost all of them are black and weigh less than 1 pound, the criteria should be ordered with "Does it weigh less than 1 pound" first. If, on the other hand, very few of the blocks are black but almost all of them weigh between 1 and three pounds, the criteria should be ordered with "Is its color black?" first.
In many cases, data processing systems apply long lists of criteria to data. When this is so, the performance of the data processing system depends crucially on the efficient ordering of the criteria. In the prior art, such orderings have been produced by skilled programmers with detailed knowledge both of the system which is applying the criteria and of the data to which the criteria have been applied. There are two difficulties with this procedure: it takes time and effort on the part of the skilled people, and the analysis must be redone each time the data the system is dealing with changes. What is lacking, and what is supplied by the present invention, is an automatic technique for ordering the criteria applied to data according to the nature of the data being processed.